package com.syh.jn.scm.service.api.supplier.purchase;

import com.syh.jn.scm.dto.supplier.purchase.PurchaseReturnOrderItemVo;
import com.syh.jn.scm.dto.supplier.purchase.PurchaseReturnOrderMto;
import com.syh.jn.scm.dto.supplier.purchase.PurchaseReturnOrderSto;
import com.syh.jn.scm.dto.supplier.purchase.PurchaseReturnOrderVo;
import com.syh.jn.scm.dto.support.FilesDto;
import com.syh.jn.scm.service.core.BaseService;

import java.util.List;
import java.util.Map;

/**
 * 采购退货接口
 */
public interface PurchaseReturnOrderService extends BaseService<PurchaseReturnOrderSto, PurchaseReturnOrderMto, PurchaseReturnOrderVo, Long> {

  /**
   * 根据订单id拿到明细
   *
   * @param id
   * @return
   */
  List<PurchaseReturnOrderItemVo> getItem(Long id);

  /**
   * 根据id获取明细
   *
   * @param ids
   * @return
   */
  List<PurchaseReturnOrderItemVo> getItemsByPurchaseReturnOrderIds(Long[] ids);

  /**
   * 取消订单
   *
   * @param id
   */
  void cancel(Long id);

  /**
   * 上传图片
   *
   * @param dto
   */
  public void upload(FilesDto dto);

  /**
   * 批量保存
   *
   * @param mapStoList
   * @return
   */
  List<Long> batchSaveWithVirtualId(List<Map<String, String>> mapStoList);

  /**
   * 确认订单
   *
   * @param id 订单id
   */
  void confirmOrder(Long id);

}
